/*****************************************************************************
STRICTLY CONFIDENTIAL (!)
COPYRIGHT BY MAX AND JAN PEJS

File:	Outputs.h
Date:	01.03.2015
Author:	Max Pejs
******************************************************************************/

#ifndef	CONTROLLER_H
#define CONTROLLER_H

#include "Auto.h"
#include "HAL/HAL.h"
#include "OutSignal.h"
#include "Diagnostic.h"

class Controller
{
	private:
	Auto car;
	
	struct Outputs
	{
		OutSignal VehicleSpeedOut;
		OutSignal EngineSpeed;
		OutSignal FuelTanLevel;
	};
	
	struct Inputs
	{
		InSignal BrakeIn;
		InSignal AccelIn;
	};


	Outputs OUTPUTS;
	Inputs INPUTS;
	
	void ReadInputs(void);
	void SetOutputs(void);

	public:
	Controller();
	void Step();
	
};

#endif // CONTROLLER_H